SUMMARY:
This loads a byte, and then checks if only 1 bit is set.
If the bit isn't set, it checks to see if the next bit is set.
If the bit is set, it checks if only that bit is set.
If only that bit is set, it saves the address, and the bit.
If more than 1 bit is set, it checks the next address.
This is good mainly for things you would assume can only have 1 bit on at a time, like status ailments in RPG games or whatever else.


NOTE:
Most of the time, a bit is turned on when an effect is activated.  Some games do it the opposite way, they turn a bit off to activate an effect.  Try both ways.  Multiple games come to mind:
1.  Dark Cloud 1 and 2 turn bits on to activate status ailments.  Many RPGs activate status ailments like Poison and Paralysis this way.
2.  Silent Hill 2 and 3 turn bits on to give you all items and weapons.
3.  Twisted Metal Black turns bits off to unlock characters.
4.  Shadow Of The Colossus turns bits off to mark collosi as defeated.
This might catch a few values that aren't bits, like ammo or money that's 1, 2, 4, 8, 16, 32, 64, or 128 bullets or dollars or something like that.


200ffd84 0c03ffc3 jal $000fff0c               Goes to the "Clear Results" function.
200ffd88 25ad0001 addiu t5, t5, $0001         Increase the address by 1 to check the next address.
200ffd8c 118d004e beq t4, t5, $000ffecc       Check if it has scanned all of the addresses.  If it has, it's done.
200ffd90 91eb0000 lbu t3, $0000(t7)           Load the address's byte.  I know it doesn't matter if it is signed or unsigned, if you spotted that.
200ffd94 100bfffc beq zero, t3, $000ffd8c     If the byte is 0, check the next address.
200ffd98 316a0001 andi t2, t3, $0001          Check if the bit 01 is set.
200ffd9c 100a0004 beq zero, t2, $000ffdb4     If 01 isn't set, skip to check if bit 02 is set.

200ffda4 114b0026 beq t2, t3, $000ffe44       Check to see if only bit 01 is set.  If it is, store this result.

200ffdac 1000fff6 beq zero, zero, $000ffd8c   There is more than 1 bit set, so check the next address.
200ffdb0 316a0002 andi t2, t3, $0002          Check if the bit 02 is set.
200ffdb4 100a0004 beq zero, t2, $000ffdc8     If 02 isn't set, skip to check if bit 04 is set.

200ffdbc 114b0020 beq t2, t3, $000ffe44       Check to see if only bit 02 is on.  If it is, store this result.

200ffdc4 1000fff0 beq zero, zero, $000ffd8c   There is more than 1 bit set, so check the next address.
200ffdc8 316a0004 andi t2, t3, $0004          Check if the bit 04 is set.
200ffdcc 100a0004 beq zero, t2, $000ffde0     If 04 isn't set, skip to check if bit 08 is set.

200ffdd4 114b001a beq t2, t3, $000ffe44       Check to see if only bit 04 is on.  If it is, store this result.

200ffddc 1000ffea beq zero, zero, $000ffd8c   There is more than 1 bit set, so check the next address.
200ffde0 316a0008 andi t2, t3, $0008          Check if the bit 08 is set.
200ffde4 100a0004 beq zero, t2, $000ffdf8     If 08 isn't set, skip to check if bit 10 is set.

200ffdec 114b0014 beq t2, t3, $000ffe44       Check to see if only bit 08 is on.  If it is, store this result.

200ffdf4 1000ffe4 beq zero, zero, $000ffd8c   There is more than 1 bit set, so check the next address.
200ffdf8 316a0010 andi t2, t3, $0010          Check if the bit 10 is set.
200ffdfc 100a0004 beq zero, t2, $000ffe10     If 10 isn't set, skip to check if bit 20 is set.

200ffe04 114b000e beq t2, t3, $000ffe44       Check to see if only bit 10 is on.  If it is, store this result.

200ffe0c 1000ffde beq zero, zero, $000ffd8c   There is more than 1 bit set, so check the next address.
200ffe10 316a0020 andi t2, t3, $0020          Check if the bit 20 is set.
200ffe14 100a0004 beq zero, t2, $000ffe28     If 20 isn't set, skip to check if bit 40 is set.

200ffe1c 114b0008 beq t2, t3, $000ffe44       Check to see if only bit 20 is on.  If it is, store this result.

200ffe24 1000ffd8 beq zero, zero, $000ffd8c   There is more than 1 bit set, so check the next address.
200ffe28 316a0040 andi t2, t3, $0040          Check if the bit 40 is set.
200ffe2c 100a0004 beq zero, t2, $000ffe44     If 40 isn't set, then bit 80 is set and it will be saved.

200ffe34 114b0002 beq t2, t3, $000ffe44       Check to see if only bit 40 is on.  If it is, store this result.

200ffe3c 1000ffd2 beq zero, zero, $000ffd8c   There is more than 1 bit set, so check the next address.
200ffe40 aded0000 sw t5, $0000(t7)            Store the result's address.
200ffe48 11cf0020 beq t6, t7, $000ffecc       Is there any space left to store results?  If not, it's finished.
200ffe44 a1eb0004 sb t3, $0004(t7)            Store the result's bit.
200ffe50 1000ffcd beq zero, zero, $000ffd8c   Check the next address because there is still space left.
200ffe4c 25ef0008 addiu t7, t7, $0008         Add 8 so it can store the next result.